The background description provided herein is for the purpose of generally presenting the context of the disclosure. Work of the presently named inventor(s), to the extent the work is described in this background section, as well as aspects of the description that may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure.
Hackers exploit weaknesses in computer systems or networks to obtain data from a memory. To reduce the likelihood that a hacker would be able to read ill-gotten data, the data is scrambled (i.e., encrypted) according to a mathematical scrambling function. The hacker then has to discover the scrambling function that was used to scramble the data in order to unscramble (i.e., decrypt) the scrambled data. To discover the scrambling function, the hacker may attack a component of a computer system, such as a system on chip (SOC), and make requests to write input values to a memory. By analyzing the output values of the memory to the input values, the hacker can try to reverse engineer the operations of the scrambling function. The more time a hacker has to analyze the output, the greater the likelihood that the hacker will be able to determine the scrambling function and use the function to unscramble the scrambled data from the memory.
In some encryption techniques, the scrambling function is based on a key. The key is a piece of information (e.g., a value, parameter) that is known only to individuals that have been authorized to read the scrambled data. To increase security of the data, the key is changed periodically in order to change the scrambling function and consequently, change how the data is scrambled and unscrambled. Because the scrambling function is dependent on the key, changing the key periodically increases the security of the memory since a hacker would have less time to discover the scrambling function before the scrambling function changes. Typically, a key is changed during the initial boot sequence of a computer system when the computer system is turned on after having been powered down. However, weeks or even months may elapse before the computer system is powered down and turned back on, which leaves the data more vulnerable to being unscrambled. Therefore, revoking the key and replacing the revoked key with a new key, referred to as key rotation, reduces this vulnerability. However, typically, key rotation requires processing time and significant resources, and thus, is done infrequently despite increased vulnerability.